home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 009 / frmwrk11.unp < prev    next >
Text File  |  1985-07-23  |  5KB  |  100 lines

  1.  
  2.                  FRAMEWORK version 1.10  -  Unprotect
  3.                  
  4.                by The Lone Victor
  5.  
  6.      The following instructions show you how to bypass the SoftGuard
  7. copy protection scheme used on Framework version 1.10.  This is the same
  8. scheme used for dBase III 1.10 and for Wordstar 2000 1.00.  Wordstar
  9. 2000 version 1.10 does not use a copy protection scheme, while versions
  10. 1.00 of dBase III and FrameWork used ProLock.  To unprotect Prolock disks
  11. read the file PROLOCK.UNP.
  12.  
  13.      First, using your valid, original FRAMEWORK diskette, install it on
  14. a fixed disk.  Softguard hides three files in your root directory: 
  15. CML0200.HCL, VDF0200.VDW, and FW.LOD  It also copies FW.COM into
  16. your chosen Framework directory.  FW.LOD is the real Framework program,
  17. encrypted.  When you run FW, the program FW.COM loads CML0200.HCL
  18. high in memory and runs it.  CML decrypts itself and reads VDF0200.VDW. 
  19. The VDF file contains some code and data from the fixed disk FAT at the
  20. time of installation.  By comparing the information in the VDF file with
  21. the current FAT, CML can tell if the CML, VDF, and DBASE.EXE files are
  22. in the same place on the disk where they were installed.  If they have
  23. moved, say from a backup & restore, then Framework will not run.
  24.  
  25.      Second, un-hide the three files in the root directory.  You can do
  26. this with the program ALTER.COM found on any BBS.
  27.  
  28.      Make copies of the three files, and of FW.COM, into some other
  29. directory.
  30.  
  31.      Hide the three root files again using ALTER.
  32.     
  33.     eg: ALTER FW.LOD
  34.         HA
  35.  
  36.  
  37.      Following the Framework instructions, UNINSTALL Framework.  You can now
  38. put away your original Framework diskette.  We are done with it.
  39.  
  40.      Next we will make some patches to CML0200.HCL to allow us to trace
  41. through the code in DEBUG.  These patches will keep it from killing our
  42. interrupt vectors.
  43.  
  44. debug cml0200.hcl
  45. e 3F9 <CR>  2A.4A <CR>          ; change the 2A to 4A
  46. e 49D <CR>  F6.16 <CR>          ;  if any of these numbers don't show up
  47. e 506 <CR>  E9.09 <CR>          ;  it's not working.
  48. e A79 <CR>  00.20 <CR>          ;
  49. e AE9 <CR>  00.20 <CR>          ;
  50. e 73C  97 FA FA F4 F1 7E <CR>   ; this is an encrypted call to 0:300
  51. w                               ; write out the new CML file
  52. q                               ; quit debug
  53.  
  54.  
  55.      Now copy your four saved files back into the root directory and
  56. hide the CML0200.HCL, VDF0200.VDW, and FW.LOD files using ALTER.
  57.  
  58.      We can now run FW.COM using DEBUG, trace just up to the point
  59. where it has decrypted FW.LOD, then write that file out.
  60.  
  61. debug FW.COM
  62. r <CR>                          ; write down the value of DS for use below.
  63. a 0:300 <CR>                    ; we must assemble some code here
  64.         pop     ax
  65.         cs:
  66.         mov     [320],ax        ; save return address
  67.         pop     ax
  68.         cs:
  69.         mov     [322],ax
  70.         push    es              ; set up stack the way we need it
  71.         mov     ax,20
  72.         mov     es,ax
  73.         mov     ax,0
  74.         cs:
  75.         jmp     far ptr [320]   ; jump to our return address
  76.  <CR>
  77. g 406                           ; now we can trace CML
  78. t
  79. g 177                           ; this stuff just traces past some
  80. g 1E9                           ;   encryption routines.
  81. t
  82. g 54E                           ; wait while reading VDF & FAT
  83. g=559 569
  84. g=571 857                       ; FW.LOD has been decrypted
  85. rBX <CR>                        ; length FW.LOD = 2F400 bytes
  86. :2                              ; set BX to 2
  87. rCX <CR>
  88. :F400                           ; set CX to AC00.  
  89. nFWX                            ; name of file to write to
  90. w XXXX:100                      ; where XXXX is the value of DS that
  91.                                 ;   you wrote down at the begining.
  92. q                               ; quit debug
  93.  
  94.      Last, unhide and delete the three root files CML0200.HCL, VDF0200.VDW, 
  95. and FW.LOD.  Delete FW.COM and rename FWX to FW.EXE.  This is the 
  96. real Framework program without any SoftGuard code or encryption.  It requires 
  97. only the FW.OVL file to run.
  98.  
  99.  
  100.